home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / WINDOWS / EZNET.ZIP / EDITOR.ZIP / MAIN.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1996-12-29  |  15.4 KB  |  554 lines

  1. VERSION 4.00
  2. Begin VB.Form Main 
  3.    Caption         =   "EasyNet Editor"
  4.    ClientHeight    =   4500
  5.    ClientLeft      =   1170
  6.    ClientTop       =   1905
  7.    ClientWidth     =   6225
  8.    FillColor       =   &H0080FFFF&
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   0
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    ForeColor       =   &H80000008&
  19.    Height          =   5190
  20.    Left            =   1110
  21.    LinkTopic       =   "Form1"
  22.    ScaleHeight     =   4500
  23.    ScaleWidth      =   6225
  24.    Top             =   1275
  25.    Width           =   6345
  26.    Begin VB.PictureBox StatusPicture 
  27.       Align           =   2  'Align Bottom
  28.       Height          =   780
  29.       Left            =   0
  30.       ScaleHeight     =   720
  31.       ScaleWidth      =   6165
  32.       TabIndex        =   0
  33.       Top             =   3720
  34.       Width           =   6225
  35.       Begin VB.TextBox TextTag 
  36.          Enabled         =   0   'False
  37.          Height          =   285
  38.          Left            =   600
  39.          TabIndex        =   6
  40.          Top             =   360
  41.          Width           =   1035
  42.       End
  43.       Begin VB.TextBox TextText 
  44.          Enabled         =   0   'False
  45.          Height          =   615
  46.          Left            =   2280
  47.          MultiLine       =   -1  'True
  48.          ScrollBars      =   2  'Vertical
  49.          TabIndex        =   5
  50.          Top             =   60
  51.          Width           =   2355
  52.       End
  53.       Begin VB.Label Label1 
  54.          Caption         =   "Tag:"
  55.          Height          =   255
  56.          Left            =   60
  57.          TabIndex        =   4
  58.          Top             =   360
  59.          Width           =   495
  60.       End
  61.       Begin VB.Label Label3 
  62.          Caption         =   "Item:"
  63.          Height          =   255
  64.          Left            =   60
  65.          TabIndex        =   3
  66.          Top             =   60
  67.          Width           =   555
  68.       End
  69.       Begin VB.Label LabelItem 
  70.          BorderStyle     =   1  'Fixed Single
  71.          Height          =   255
  72.          Left            =   600
  73.          TabIndex        =   2
  74.          Top             =   60
  75.          Width           =   1035
  76.       End
  77.       Begin VB.Label Label2 
  78.          Caption         =   "Text:"
  79.          Height          =   255
  80.          Left            =   1740
  81.          TabIndex        =   1
  82.          Top             =   60
  83.          Width           =   555
  84.       End
  85.    End
  86.    Begin EasynetLib.Easynet Net1 
  87.       Height          =   3315
  88.       Left            =   120
  89.       TabIndex        =   7
  90.       Top             =   120
  91.       Width           =   4035
  92.       _Version        =   65538
  93.       _ExtentX        =   7117
  94.       _ExtentY        =   5847
  95.       _StockProps     =   101
  96.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  97.          name            =   "MS Sans Serif"
  98.          charset         =   0
  99.          weight          =   400
  100.          size            =   8.25
  101.          underline       =   0   'False
  102.          italic          =   0   'False
  103.          strikethrough   =   0   'False
  104.       EndProperty
  105.       BorderStyle     =   1
  106.       xGrid           =   5
  107.       yGrid           =   5
  108.       Shape           =   0
  109.       FillColor       =   16777215
  110.       DrawColor       =   0
  111.       ForeColor       =   0
  112.       DrawWidth       =   1
  113.       Oriented        =   -1  'True
  114.       ReadOnly        =   0   'False
  115.       MultiSel        =   -1  'True
  116.       ScrollBars      =   3
  117.       CanDrawNode     =   -1  'True
  118.       CanDrawLink     =   -1  'True
  119.       CanMoveNode     =   -1  'True
  120.       CanSizeNode     =   -1  'True
  121.       CanStretchLink  =   -1  'True
  122.       CanMultiLink    =   -1  'True
  123.       Transparent     =   0   'False
  124.       DrawStyle       =   0
  125.       Alignment       =   7
  126.       BackPicture     =   "MAIN.frx":0000
  127.       ShowGrid        =   0   'False
  128.       LinkHead        =   0
  129.       DoSelChange     =   -1  'True
  130.       DoAddNode       =   -1  'True
  131.       DoAddLink       =   -1  'True
  132.       Hiding          =   0   'False
  133.       ImageFile       =   ""
  134.       DisplayHandles  =   -1  'True
  135.       Zoom            =   100
  136.       AutoSize        =   0
  137.       AutoScroll      =   -1  'True
  138.    End
  139.    Begin MSComDlg.CommonDialog CMDialog1 
  140.       Left            =   4740
  141.       Top             =   870
  142.       _Version        =   65536
  143.       _ExtentX        =   847
  144.       _ExtentY        =   847
  145.       _StockProps     =   0
  146.    End
  147.    Begin VB.Menu File 
  148.       Caption         =   "&File"
  149.       Begin VB.Menu NewMenu 
  150.          Caption         =   "&New"
  151.       End
  152.       Begin VB.Menu OpenMenu 
  153.          Caption         =   "&Open..."
  154.       End
  155.       Begin VB.Menu SaveMenu 
  156.          Caption         =   "&Save"
  157.       End
  158.       Begin VB.Menu SaveAsMenu 
  159.          Caption         =   "Save &As..."
  160.       End
  161.       Begin VB.Menu SEPARATOR1 
  162.          Caption         =   "-"
  163.       End
  164.       Begin VB.Menu SaveAsMetafileMenu 
  165.          Caption         =   "Save As &Metafile..."
  166.       End
  167.       Begin VB.Menu SEPARATOR7 
  168.          Caption         =   "-"
  169.       End
  170.       Begin VB.Menu PrintFormMenu 
  171.          Caption         =   "&Print Form"
  172.       End
  173.       Begin VB.Menu SEPARATOR2 
  174.          Caption         =   "-"
  175.       End
  176.       Begin VB.Menu ExitMenu 
  177.          Caption         =   "&Exit"
  178.       End
  179.    End
  180.    Begin VB.Menu EditMenu 
  181.       Caption         =   "&Edit"
  182.       Begin VB.Menu CopyMenu 
  183.          Caption         =   "&Copy clipboard"
  184.       End
  185.       Begin VB.Menu DeleteMenu 
  186.          Caption         =   "&Delete"
  187.       End
  188.       Begin VB.Menu SEPARATOR3 
  189.          Caption         =   "-"
  190.       End
  191.       Begin VB.Menu SelectAllMenu 
  192.          Caption         =   "Select &All"
  193.       End
  194.       Begin VB.Menu SEPARATOR4 
  195.          Caption         =   "-"
  196.       End
  197.       Begin VB.Menu SelectModeMenu 
  198.          Caption         =   "&Select Mode"
  199.       End
  200.       Begin VB.Menu SEPARATOR5 
  201.          Caption         =   "-"
  202.       End
  203.       Begin VB.Menu ZOrderMenu 
  204.          Caption         =   "&ZOrder"
  205.          Begin VB.Menu ZOrderBackMenu 
  206.             Caption         =   "&Back"
  207.             Enabled         =   0   'False
  208.          End
  209.          Begin VB.Menu ZOrderFrontMenu 
  210.             Caption         =   "&Front"
  211.             Enabled         =   0   'False
  212.          End
  213.       End
  214.       Begin VB.Menu SEPARATOR6 
  215.          Caption         =   "-"
  216.       End
  217.       Begin VB.Menu GroupMenu 
  218.          Caption         =   "&Group"
  219.       End
  220.       Begin VB.Menu UngroupMenu 
  221.          Caption         =   "&Ungroup"
  222.       End
  223.    End
  224.    Begin VB.Menu ViewMenu 
  225.       Caption         =   "&View"
  226.       Begin VB.Menu StatusBarMenu 
  227.          Caption         =   "&StatusBar"
  228.          Checked         =   -1  'True
  229.       End
  230.    End
  231.    Begin VB.Menu DrawMenu 
  232.       Caption         =   "&Draw"
  233.       Begin VB.Menu PropertiesMenu 
  234.          Caption         =   "&Properties..."
  235.       End
  236.    End
  237.    Begin VB.Menu HelpMenu 
  238.       Caption         =   "&?"
  239.       Begin VB.Menu AboutMenu 
  240.          Caption         =   "&About..."
  241.       End
  242.    End
  243. Attribute VB_Name = "Main"
  244. Attribute VB_Creatable = False
  245. Attribute VB_Exposed = False
  246. Option Explicit
  247. Const EXT_NET = "NET"
  248. Const FILTER_NET = "Net Files(*.NET)|*.net|All Files(*.*)|*.*|"
  249. Const EXT_WMF = "WMF"
  250. Const FILTER_WMF = "Wmf Files(*.WMF)|*.wmf|All Files(*.*)|*.*|"
  251. Dim Filename$
  252. Dim wmfFileName$
  253.         
  254. Private Sub AboutMenu_Click()
  255.   Dim Msg$
  256.   Msg = "EasyNet Editor sample" + Chr(13) + "Copyright 
  257.  1994-1996 by Patrick Lassalle"
  258.   MsgBox Msg
  259. End Sub
  260. Private Sub CopyMenu_Click()
  261.   Net1.CopyAll
  262. End Sub
  263. Private Sub DeleteMenu_Click()
  264.   Net1.DeleteSel
  265. End Sub
  266. Private Sub ExitMenu_Click()
  267.   End
  268. End Sub
  269. Private Sub Form_Load()
  270.   Net1.Left = 0
  271.   Net1.Top = 0
  272. End Sub
  273. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  274.   QueryUnload (Cancel)
  275. End Sub
  276. Private Sub Form_Resize()
  277.   If WindowState <> 1 And ScaleHeight <> 0 Then
  278.     If StatusPicture.Visible Then
  279.       Net1.Height = ScaleHeight - StatusPicture.Height
  280.       StatusPicture.Top = Net1.Height
  281.     Else
  282.       Net1.Height = ScaleHeight
  283.     End If
  284.     Net1.Width = ScaleWidth
  285.   End If
  286. End Sub
  287. Private Function GetFileName(Ext As String, Filter As String) As String
  288.   Const OFN_OVERWRITEPROMPT = &H2&
  289.   Const OFN_SHOWHELP = &H10&
  290.   Const OFN_CREATEPROMPT = &H2000&
  291.   'Display file open dialog
  292.   CMDialog1.DefaultExt = "NET"
  293.   CMDialog1.Filter = Filter
  294.   CMDialog1.Flags = OFN_OVERWRITEPROMPT Or OFN_SHOWHELP Or OFN_CREATEPROMPT
  295.   CMDialog1.Action = 1
  296.   'Select a file and open it
  297.   GetFileName = CMDialog1.Filename
  298. End Function
  299. Private Sub GroupMenu_Click()
  300.   Dim count As Long
  301.   Dim i As Long
  302.   Dim item() As Long
  303.   Dim Owner As Long
  304.   Dim X1&, Y1&, X2&, Y2&, X1min&, Y1min&, X2max&, Y2max&
  305.   With Net1
  306.     count = .GetSelNodesCount()
  307.     If count > 0 Then
  308.       ReDim item(1 To count)
  309.       .GetSelNodesArray count, item(1)
  310.       .GetNodeRect item(1), X1min, Y1min, X2max, Y2max
  311.       For i = 2 To count
  312.         .GetNodeRect item(i), X1, Y1, X2, Y2
  313.         If X1 < X1min Then X1min = X1
  314.         If Y1 < Y1min Then Y1min = Y1
  315.         If X2 > X2max Then X2max = X2
  316.         If Y2 > Y2max Then Y2max = Y2
  317.       Next
  318.       Owner = .AddNodeItem()
  319.       .SetItemHiding Owner, True      'Invisible
  320.       .SetNodeShape Owner, 1          'Rectangular
  321.       .SetNodeTransparent Owner, True 'Transparent
  322.       .SetNodeRect Owner, X1min, Y1min, X2max, Y2max
  323.       For i = 1 To count
  324.         .SetNodeOwner item(i), Owner
  325.       Next i
  326.     End If
  327.   End With
  328. End Sub
  329. Private Sub Net1_AddNode()
  330.   ' Avoid too small nodes
  331.   With Net1
  332.     If .X2 - .X1 < 200 Then .X2 = .X1 + 200
  333.     If .Y2 - .Y1 < 200 Then .Y2 = .Y1 + 200
  334.   End With
  335. End Sub
  336. Private Sub Net1_DblClick()
  337.   PropertiesMenu_Click
  338. End Sub
  339. Private Sub Net1_KeyDown(KeyCode As Integer, Shift As Integer)
  340.   Const KEY_DELETE = &H2E
  341.   If KeyCode = KEY_DELETE Then
  342.     Net1.DeleteSel
  343.   End If
  344. End Sub
  345. Private Sub Net1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  346.   Dim area%
  347.   Dim item&
  348.   ' If mouse down don't change the mouse pointer
  349.   Const LEFT_BUTTON = 1
  350.   If (Button And LEFT_BUTTON) > 0 Then
  351.     Exit Sub
  352.   End If
  353.   With Net1
  354.     item = .PointedItem
  355.     If item <> 0 Then
  356.       LabelItem.Caption = Str(item)
  357.       TextText.Text = .GetItemText(item)
  358.       TextTag.Text = .GetItemTag(item)
  359.     Else
  360.       LabelItem.Caption = ""
  361.       TextText.Text = ""
  362.       TextTag.Text = ""
  363.     End If
  364.     area = .PointedArea
  365.     Select Case area
  366.     Case 0
  367.       .MousePointer = 8
  368.     Case 1
  369.       .MousePointer = 7
  370.     Case 2
  371.       .MousePointer = 6
  372.     Case 3
  373.       .MousePointer = 9
  374.     Case 5
  375.       .MousePointer = 10
  376.     Case Else
  377.       If .SelectMode = True Then
  378.         .MousePointer = 2
  379.       Else
  380.         .MousePointer = 0
  381.       End If
  382.     End Select
  383.   End With
  384. End Sub
  385. Private Sub Net1_SelChange()
  386.   If Net1.item <> 0 Then
  387.     ZOrderFrontMenu.Enabled = True
  388.     ZOrderBackMenu.Enabled = True
  389.   Else
  390.     ZOrderFrontMenu.Enabled = False
  391.     ZOrderBackMenu.Enabled = False
  392.   End If
  393. End Sub
  394. Private Sub NewMenu_Click()
  395.   Dim Cancel%
  396.   Call QueryUnload(Cancel)
  397.   If Cancel = False Then
  398.     Net1.DeleteAll
  399.     Net1.SetChangedFlag False
  400.   End If
  401. End Sub
  402. Private Sub OpenMenu_Click()
  403.   Dim Cancel%
  404.   Call QueryUnload(Cancel)
  405.   If Cancel = False Then
  406.     Filename = GetFileName(EXT_NET, FILTER_NET)
  407.     If Filename <> "" Then
  408.       Net1.DeleteAll
  409.       MousePointer = 11
  410.       OpenEasyNetFile Net1, Filename
  411.       MousePointer = 0
  412.       Net1.SetChangedFlag False
  413.     End If
  414.   End If
  415. End Sub
  416. Private Sub QueryUnload(Cancel As Integer)
  417.   Dim Msg$, NL$
  418.   Dim Response%
  419.   If Net1.IsChanged Then
  420.     Cancel = False
  421.     ' Message box
  422.     NL = Chr$(10) & Chr$(13)
  423.     If Filename <> "" Then
  424.       Msg = "The diagram in [" & Filename & "] has changed."
  425.       Msg = Msg & NL
  426.     End If
  427.     Msg = Msg & "Do you want to save the changes?"
  428.     Response = MsgBox(Msg, 51, App.Title)
  429.     Select Case Response
  430.     ' Yes
  431.     Case 6
  432.       If Filename = "" Then
  433.         'Get the filename to save the file
  434.         Filename = GetFileName(EXT_NET, FILTER_NET)
  435.         'If the user did not specify a file name,
  436.         'cancel the unload; otherwise, save it.
  437.         If Filename = "" Then
  438.           Cancel = True
  439.         Else
  440.           SaveEasyNetFile Net1, Filename
  441.         End If
  442.       Else
  443.         SaveEasyNetFile Net1, Filename
  444.       End If
  445.     ' No
  446.     Case 7
  447.     ' Cancel
  448.     Case 2
  449.       Cancel = True
  450.     End Select
  451.   End If
  452. End Sub
  453. Private Sub PrintFormMenu_Click()
  454.   PrintForm
  455. End Sub
  456. Private Sub PropertiesMenu_Click()
  457.   ItemProp.Show 1
  458. End Sub
  459. Private Sub SaveAsMenu_Click()
  460.   Const OFN_OVERWRITEPROMPT = &H2&
  461.   Const OFN_SHOWHELP = &H10&
  462.   Const OFN_CREATEPROMPT = &H2000&
  463.   'Display file save dialog
  464.   CMDialog1.DefaultExt = EXT_NET
  465.   CMDialog1.Filter = FILTER_NET
  466.   CMDialog1.Flags = OFN_OVERWRITEPROMPT Or OFN_SHOWHELP Or OFN_CREATEPROMPT
  467.   CMDialog1.Filename = Filename
  468.   CMDialog1.DialogTitle = "Save As..."
  469.   CMDialog1.Action = 2
  470.   'Select a file
  471.   Filename = CMDialog1.Filename
  472.   If Filename <> "" Then
  473.     MousePointer = 11
  474.     SaveEasyNetFile Net1, Filename
  475.     MousePointer = 0
  476.     Net1.SetChangedFlag False
  477.   End If
  478. End Sub
  479. Private Sub SaveAsMetafileMenu_Click()
  480.   Const OFN_OVERWRITEPROMPT = &H2&
  481.   Const OFN_SHOWHELP = &H10&
  482.   Const OFN_CREATEPROMPT = &H2000&
  483.   ' Display file save dialog
  484.   With CMDialog1
  485.     .DefaultExt = EXT_WMF
  486.     .Filter = FILTER_WMF
  487.     .Flags = OFN_OVERWRITEPROMPT Or OFN_SHOWHELP Or OFN_CREATEPROMPT
  488.     .Filename = wmfFileName
  489.     .DialogTitle = "Save As Metafile..."
  490.     .Action = 2
  491.   End With
  492.   ' Select a file
  493.   wmfFileName = CMDialog1.Filename
  494.   If wmfFileName <> "" Then
  495.     MousePointer = 11
  496.     Net1.SaveImage wmfFileName
  497.     MousePointer = 0
  498.   End If
  499. End Sub
  500. Private Sub SaveMenu_Click()
  501.   If Net1.IsChanged() = True Then
  502.     If Len(Filename) <> 0 Then
  503.       MousePointer = 11
  504.       SaveEasyNetFile Net1, Filename
  505.       MousePointer = 0
  506.       Net1.SetChangedFlag False
  507.     Else
  508.       SaveAsMenu_Click
  509.     End If
  510.   End If
  511. End Sub
  512. Private Sub SelectAllMenu_Click()
  513.   Net1.SelectAll
  514. End Sub
  515. Private Sub SelectModeMenu_Click()
  516.   Net1.SelectMode = Not Net1.SelectMode
  517.   If Net1.SelectMode = True Then
  518.     SelectModeMenu.Checked = True
  519.     Net1.MousePointer = 2
  520.   Else
  521.     SelectModeMenu.Checked = False
  522.     Net1.MousePointer = 0
  523.   End If
  524. End Sub
  525. Private Sub StatusBarMenu_Click()
  526.   StatusPicture.Visible = Not StatusPicture.Visible
  527.   StatusBarMenu.Checked = StatusPicture.Visible
  528.   Form_Resize
  529. End Sub
  530. Private Sub UngroupMenu_Click()
  531.   Dim count As Long
  532.   Dim i As Long
  533.   Dim item() As Long
  534.   Dim Owner As Long
  535.   With Net1
  536.     Owner = .item
  537.     count = .GetOwnedNodesCount(Owner)
  538.     If count > 0 Then
  539.       ReDim item(1 To count)
  540.       .GetOwnedNodesArray Owner, count, item(1)
  541.       For i = 1 To count
  542.         .SetNodeOwner item(i), 0
  543.       Next i
  544.       .DeleteItem Owner
  545.     End If
  546.   End With
  547. End Sub
  548. Private Sub ZOrderBackMenu_Click()
  549.   Net1.ItemZOrder = True
  550. End Sub
  551. Private Sub ZOrderFrontMenu_Click()
  552.   Net1.ItemZOrder = False
  553. End Sub
  554.